package com.internetCafes.spms.web.certificate.vo;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;
import java.util.List;
import java.util.Objects;

/**
 * @author LinYe
 * @date 2020/10/15
 */
public class AIRecognizeInfo {

    private String name;

    private String idCard;

    private String pIdType;

    private String idType;

    private String profession;

    private Date releaseTime;

    private Date validityEndTime;

    private String certificateNo;

    private String fileName;

    private String remoteUrl;

    private String code;

    private List<Long> qualification;

    private Double registeredCapital;

    private String corporateName;

    private String registeredAddress;

    private String releaseOrgan;

    private String authOrgan;

    private String authStandards;

    private Long employeeId;

    @JsonFormat
    private Date releaseDate;

    private Date expireDate;

    private List<Integer> levels;

    private List<String> qualificationDetails;

    public AIRecognizeInfo() {
    }

    public Long getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Long employeeId) {
        this.employeeId = employeeId;
    }

    public String getReleaseOrgan() {
        return releaseOrgan;
    }

    public void setReleaseOrgan(String releaseOrgan) {
        this.releaseOrgan = releaseOrgan;
    }

    public List<Integer> getLevels() {
        return levels;
    }

    public void setLevels(List<Integer> levels) {
        this.levels = levels;
    }

    public List<String> getQualificationDetails() {
        return qualificationDetails;
    }

    public void setQualificationDetails(List<String> qualificationDetails) {
        this.qualificationDetails = qualificationDetails;
    }

    public Date getReleaseDate() {
        return releaseDate;
    }

    public void setReleaseDate(Date releaseDate) {
        this.releaseDate = releaseDate;
    }

    public Date getExpireDate() {
        return expireDate;
    }

    public void setExpireDate(Date expireDate) {
        this.expireDate = expireDate;
    }

    public String getAuthStandards() {
        return authStandards;
    }

    public void setAuthStandards(String authStandards) {
        this.authStandards = authStandards;
    }

    public String getRegisteredAddress() {
        return registeredAddress;
    }

    public String getAuthOrgan() {
        return authOrgan;
    }

    public void setAuthOrgan(String authOrgan) {
        this.authOrgan = authOrgan;
    }

    public void setRegisteredAddress(String registeredAddress) {
        this.registeredAddress = registeredAddress;
    }

    public String getCorporateName() {
        return corporateName;
    }

    public void setCorporateName(String corporateName) {
        this.corporateName = corporateName;
    }

    public Double getRegisteredCapital() {
        return registeredCapital;
    }

    public void setRegisteredCapital(Double registeredCapital) {
        this.registeredCapital = registeredCapital;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public List<Long> getQualification() {
        return qualification;
    }

    public void setQualification(List<Long> qualification) {
        this.qualification = qualification;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getRemoteUrl() {
        return remoteUrl;
    }

    public void setRemoteUrl(String remoteUrl) {
        this.remoteUrl = remoteUrl;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getpIdType() {
        return pIdType;
    }

    public void setpIdType(String pIdType) {
        this.pIdType = pIdType;
    }

    public String getIdType() {
        return idType;
    }

    public void setIdType(String idType) {
        this.idType = idType;
    }

    public String getProfession() {
        return profession;
    }

    public void setProfession(String profession) {
        this.profession = profession;
    }

    public Date getReleaseTime() {
        return releaseTime;
    }

    public void setReleaseTime(Date releaseTime) {
        this.releaseTime = releaseTime;
    }

    public Date getValidityEndTime() {
        return validityEndTime;
    }

    public void setValidityEndTime(Date validityEndTime) {
        this.validityEndTime = validityEndTime;
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public void setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
    }

    @Override
    public String toString() {
        return "AIRecognizeInfo{" +
                "name='" + name + '\'' +
                ", idCard='" + idCard + '\'' +
                ", pIdType='" + pIdType + '\'' +
                ", idType='" + idType + '\'' +
                ", profession='" + profession + '\'' +
                ", releaseTime=" + releaseTime +
                ", validityEndTime=" + validityEndTime +
                ", certificateNo='" + certificateNo + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        AIRecognizeInfo that = (AIRecognizeInfo) o;
        return Objects.equals(name, that.name) &&
                Objects.equals(idCard, that.idCard) &&
                Objects.equals(pIdType, that.pIdType) &&
                Objects.equals(idType, that.idType) &&
                Objects.equals(profession, that.profession) &&
                Objects.equals(releaseTime, that.releaseTime) &&
                Objects.equals(validityEndTime, that.validityEndTime) &&
                Objects.equals(certificateNo, that.certificateNo);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, idCard, pIdType, idType, profession, releaseTime, validityEndTime, certificateNo);
    }
}
